#include <stdio.h>

#include <list.h>

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>





// 插入节点
void insert_node(struct list_head *head, char *path)
{
    // 1.新建节点
    struct node *xnew = malloc(sizeof(struct node));

    // 2.初始化节点
    strcpy(xnew->pic_path, path);

    // 3.尾插
    list_add_tail(&xnew->list, head);
}

// 加载图片
// void load_Images(struct list_head *head, char *dir, char *path)
// {

//     printf("%s\n", dir);
//     // 1.加载 ls -l 命令(程序)
//     char buf2[255] = {0};
//     sprintf(buf2, "find %s -name '*.%s'", path, dir);
//     FILE *pf = popen(buf2, "r");
//     if (pf == NULL)
//     {
//         printf("popen error\n");
//         return;
//     }
//     else
//     {
//         printf("加载成功\n");
//     }
//     // 读取 ls -l  程序加载后的输出结果
//     while (1)
//     {
//         char *p = NULL;
//         char buf[1024] = {0};
//         char *ret = fgets(buf, 1024, pf);
//         if (ret == NULL)
//         {
//             break;
//         }
//         insert_node(head, buf);

//         // printf("%s\n", buf);
//     }
//     // 关闭程序
//     pclose(pf);
// }

// 遍历链表的内容
void show_list(struct list_head *head)
{
    struct list_head *pos = NULL;
    list_for_each(pos, head)
    {
        struct node *p = list_entry(pos, struct node, list);

        printf("%s\n", p->pic_path);
    }
}
//清除字符串尾部的回车
void fun_delete(char *str)
{
    size_t len = strlen(str);
    if (len > 0 && str[len - 1] == '\n')
    {
        str[len - 1] = '\0';
    }
}
